Telegram Group & Telegram Channel
📱 How to: оптимизировать работу с API в мобильных приложениях

Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.

1️⃣ Кеширование данных

Используйте Room (Android) или CoreData (iOS) для локального хранения:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ Пагинация

Делите данные на страницы:

🔵 Android: Paging 3 + RemoteMediator
🔵 iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ Повтор запросов при ошибках

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ Оптимизация JSON

🔵 Используйте kotlinx.serialization (Android) и Codable (iOS)
🔵 Исключайте ненужные поля через @Transient / @Ignore

5️⃣ HTTP-кеширование

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


💬 Как вы оптимизируете работу в своих проектах? Делитесь опытом

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/mobileproglib/5826
Create:
Last Update:

📱 How to: оптимизировать работу с API в мобильных приложениях

Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.

1️⃣ Кеширование данных

Используйте Room (Android) или CoreData (iOS) для локального хранения:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ Пагинация

Делите данные на страницы:

🔵 Android: Paging 3 + RemoteMediator
🔵 iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ Повтор запросов при ошибках

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ Оптимизация JSON

🔵 Используйте kotlinx.serialization (Android) и Codable (iOS)
🔵 Исключайте ненужные поля через @Transient / @Ignore

5️⃣ HTTP-кеширование

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


💬 Как вы оптимизируете работу в своих проектах? Делитесь опытом

🐸 Библиотека мобильного разработчика

#буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck




Share with your friend now:
tg-me.com/mobileproglib/5826

View MORE
Open in Telegram


Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram is a cloud-based instant messaging service that has been making rounds as a popular option for those who wish to keep their messages secure. Telegram boasts a collection of different features, but it’s best known for its ability to secure messages and media by encrypting them during transit; this prevents third-parties from snooping on messages easily. Let’s take a look at what Telegram can do and why you might want to use it.

Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at ₹43,559 crore at the end of March 2021 compared to the company’s market capitalisation of ₹44,447 crore.

Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM USA